/**
 * 项目名称：
 * 编程实现控制台界面下的二人五子棋对战。
 * 项目描述：
 * （1）绘制棋盘 - 写一个成员方法实现。
 * （2）提示黑方和白方分别下棋并重新绘制棋盘 - 写一个成员方法实现。
 * （3）每当一方下棋后判断是否获胜 - 写一个成员方法实现。
 * （4）提示： 采用二维数组来模拟并描述棋盘，棋盘如下：
 * 0 1 2 3 4 5 6 7 8 9 a b c d e f
 * 0 + + + + + + + + + + + + + + + +
 * 1 + + + + + + + + + + + + + + + +
 * 2 + + + + + + + + + + + + + + + +
 * 3 + + + + + + + + + + + + + + + +
 * 4 + + + + + + + + + + + + + + + +
 * 5 + + + + + + + + + + + + + + + +
 * 6 + + + + + + + + + + + + + + + +
 * 7 + + + + + + + + + + + + + + + +
 * 8 + + + + + + + + + + + + + + + +
 * 9 + + + + + + + + + + + + + + + +
 * a + + + + + + + + + + + + + + + +
 * b + + + + + + + + + + + + + + + +
 * c + + + + + + + + + + + + + + + +
 * d + + + + + + + + + + + + + + + +
 * e + + + + + + + + + + + + + + + +
 * f + + + + + + + + + + + + + + + +
 */

package com.hucsmn.five;

import java.util.Scanner;

public class Five {
    public static void main(String[] args) {
        Board board = new Board();

        do {
            board.reset();
            board.display();
            System.out.println("======");

            while (!board.nextRound()) {
                System.out.println("======");
            }

            if (!prompt("本轮对局已结束，是否重置棋局")) {
                break;
            }
        } while (true);
        System.out.print("比赛结束。");
    }

    private static boolean prompt(String message) {
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.print(message + "（Y/N）: ");
            switch (sc.nextLine().trim().toLowerCase()) {
                case "y":
                case "yes":
                    return true;
                case "n":
                case "no":
                    return false;
            }
        }
    }
}
